#ifndef TEXTURECUBEMAP_H
#define TEXTURECUBEMAP_H

#include "bga/graphics/TextureObject.h"
#include "bga/system/ConfigDLL.h"

namespace sf
{
class Image;
}

/**
 * \namespace bga
 * \brief API namespace
 */
namespace bga
{

/*! \class TextureCubeMap
 *   \brief Class which define cube map texture object
 */
class BOARD_HELL_ENGINE TextureCubeMap : public TextureObject
{
    public:
        TextureCubeMap();

        virtual ~TextureCubeMap();

        void setTextureWidth(unsigned int width);
        unsigned int getTextureWidth() const;

        void setTextureHeight(unsigned int height);
        unsigned int getTextureHeight() const;

        virtual void allocateTexture();

        virtual void loadImage();

    private:

        unsigned int textureWidth;
        unsigned int textureHeight;

};

}

#endif

